package com.gopay.common.domain.file;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Version;

import org.hibernate.annotations.GenericGenerator;

import com.gopay.common.domain.BaseEntity;

/**
 * 文件上传流水表
 * @FileUploadDtl.java
 * @author Light
 * @2016年6月3日 上午11:06:14  www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "FILE_UPLOAD_DTL")
public class FileUploadDtl extends BaseEntity{
    private static final long serialVersionUID = 7307319627609601492L;

    /** 主键 **/
    private String id;
    /** 客户ID **/
    private String custId;
    /** 分类（各功能模块唯一标识文件作用域） **/
    private String category;
    /** 原始文件名称 **/
    private String oriFileName;
    /** 文件实际地址 **/
    private String fileAddr;
    /** 文件URL **/
    private String fileUrl;
    /** 是否删除 **/
    private String isDelete;
    /** 所属平台 01-Console 02-Portal 03-CPS 04-Cashier **/
    private String platform;
    /** 备注 **/
    private String remarks;
    /** 创建时间 **/
    private Date createdTs;
    /** 创建用户ID **/
    private String createdUserId;
    /** 最后更新时间 **/
    private Date lastUpdTs;
    /** 最后更新用户ID **/
    private String lastUpdUserId;
    /** 乐观锁版本号 **/
    private Integer version;
    
    @Id
    @Column(name = "ID", unique = true, nullable = false)
    @GenericGenerator(name = "idGenerator", strategy = "uuid")
    @GeneratedValue(generator = "idGenerator")
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    @Column(name = "CUST_ID", length = 10)
    public String getCustId() {
        return custId;
    }
    public void setCustId(String custId) {
        this.custId = custId;
    }
    @Column(name = "CATEGORY", length = 64)
    public String getCategory() {
        return category;
    }
    public void setCategory(String category) {
        this.category = category;
    }
    @Column(name = "ORI_FILE_NAME", length = 200)
    public String getOriFileName() {
        return oriFileName;
    }
    public void setOriFileName(String oriFileName) {
        this.oriFileName = oriFileName;
    }
    @Column(name = "FILE_ADDR", length = 200)
    public String getFileAddr() {
        return fileAddr;
    }
    public void setFileAddr(String fileAddr) {
        this.fileAddr = fileAddr;
    }
    @Column(name = "FILE_URL", length = 200)
    public String getFileUrl() {
        return fileUrl;
    }
    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }
    @Column(name = "IS_DELETE", length = 1)
    public String getIsDelete() {
        return isDelete;
    }
    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete;
    }
    @Column(name = "PLATFORM", length = 2)
    public String getPlatform() {
        return platform;
    }
    public void setPlatform(String platform) {
        this.platform = platform;
    }
    @Column(name = "REMARKS", length = 200)
    public String getRemarks() {
        return remarks;
    }
    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }
    @Column(name = "CREATED_TS", length = 200)
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreatedTs() {
        return createdTs;
    }
    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }
    @Column(name = "CREATED_USER_ID", length = 10)
    public String getCreatedUserId() {
        return createdUserId;
    }
    public void setCreatedUserId(String createdUserId) {
        this.createdUserId = createdUserId;
    }
    @Column(name = "LAST_UPD_TS", length = 200)
    @Temporal(TemporalType.TIMESTAMP)
    public Date getLastUpdTs() {
        return lastUpdTs;
    }
    public void setLastUpdTs(Date lastUpdTs) {
        this.lastUpdTs = lastUpdTs;
    }
    @Column(name = "LAST_UPD_USER_ID", length = 10)
    public String getLastUpdUserId() {
        return lastUpdUserId;
    }
    public void setLastUpdUserId(String lastUpdUserId) {
        this.lastUpdUserId = lastUpdUserId;
    }
    @Version
    @Column(name = "VERSION", nullable = false, precision = 22, scale = 0)
    public Integer getVersion() {
        return version;
    }
    public void setVersion(Integer version) {
        this.version = version;
    }
    
}
